Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Printf-style debug of where workflow startup error go during queries... #932

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Drahflow
Copy link

@Drahflow Drahflow commented Oct 13, 2022

What was changed

When evaluating a query task, but the workflow code no longer accepts the input payload of the StartWorkflowEvent, the resulting error is currently dropped without any logs whatsoever (even with EnableVerboseLogging). The list of possible queries against that workflow is then empty (as query handlers would be registered at the start of the workflow code), leading to unexpectedly vanishing queries without any explanation.

This PR outlines the data flow (just follow the Printf, 1. HERE, 2. XXX, 3. YYY, 4. ZZZ) and adds a warning for all workflow results ending in error, which will also be visible when the evaluated task was just for a query. This is likely too noisy and should be adapted further.

Why?

If workflow input types are changed and queries stop working, there should be some indication in the logs that this is due to incompatible workflow code versions instead of silence.

Checklist

  1. Related to: No problem indicators on failed workflow input deserialization during queries #933

  2. How was this tested:

We (inadvertently) updated workflow definition code such that the input payload of older executions was no longer able deserialized to the input type of the new workflow code. Then we tried to execute queries (via UI) on the old workflow. However, even the defined query types were gone from the dropdown. We observed no logs indicating any error conditions, neither on the temporal services nor on the workflow worker evaluating the query task.

We used go.mod replace directive to recompile the workflow worker against the source branch of this PR and observed the new warning message when workflow initialization failed due to failures during input deserialization.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants